# 不区分大小写的文本操作
# 解决方案: 使用 re.IGNORECASE 标记
import re
text= ' UPPER PYTHON, lower python, Mixed Python'
print(re.findall('python',text,flags=re.IGNORECASE)) #不区分大小写
re.sub('python','snake', text, flags=re.IGNORECASE) # 用snake替换python
# 使用支撑函数(support function)使得替换文本与匹配的文本大小写匹配
def matchcase(word):
    def replace(m):
        text = m.group() #TODO 啥是支撑函数 ?
        if text.isupper():
            return word.upper()
        elif text.islower():
            return word.lower()
        elif text[0].isupper():
            return  word.capitalize()
        else:
            return word
    return replace
print(re.sub('python',matchcase('snake'), text, flags=re.IGNORECASE))